Technological advances in computer hardware, software and networking have provided efficient, cost effective computing systems that can communicate with each other from practically anywhere in the world. Such systems are employed to access, browse and search the Internet, compose, send and receive email messages, view and edit documents, transmit and obtain text messages, instant messages, and the like. For example, a user can employ cellular telephones, personal digital assistants (PDA), to search the Internet for movie times, invite a friend to a particular showing by sending an email, text message, or instant message.
Various techniques have been employed to input information in such devices, such as inputting data by using keyboard, mouse, touch sensitive screen, pen device, optical character recognition, speech recognition, and the like. For example, conventional systems often employ keyboards that can vary in size depending upon type of the host device—whether a personal computer or laptop or the like—such devices can employ a keyboard based on a QWERTY layout, wherein each alphanumeric character can be associated with a respective key, while a cellular telephone can include fewer keys such that a number of alphabetic characters share a single key with a numeric character. For instance, a “2” key on a cellular telephone keypad is commonly associated with the letters “A”, “B”, and “C”.
Moreover, pluralities of techniques are commonly employed to input text with a limited keyboard—yet ambiguities appear when more than one alphanumeric character is associated with a particular key. For instance, a multiple-tap approach can be implemented, wherein a user presses a numeric key a number of times to enter a desired letter or number. Accordingly, the “2” key can be pressed once, to input the number 2, twice to input the letter A, three times to input the letter B, and four times to input the letter C. A pause and/or pressing a key that moves a cursor (e.g. an arrow key) can help differentiate between distinct alphanumeric characters. Such technique, however, is commonly time consuming and inefficient for users—since a single key may be pressed a number of times to enter a single alphanumeric character. Another common approach to enter text with numeric keys is a single-tap approach, where users press the numeric key associated with a desired letter once. Thereafter, inputted characters are disambiguated, by matching a sequence of characters corresponding with a word to a sequence stored in memory, for example. Hence, to enter the word “cell” a user can press the sequence 2-3-5-5, which can be compared to stored sequences in memory. Even though the single-tap approach offers a more efficient manner in which to enter text, it has drawbacks.
Typically, conventional web search and multi-word wheeling (for assisting inputting a search query) are both based on language models (or indexes) that can rank web pages and queries according to a popularity criteria and/or a predetermined measure. In general, a non-local version of such applications will interact with one generic language model, and search or word-wheeling will therefore supply the same answer to the same input regardless of location—(e.g., a same result is obtained whether a user initiates a same query from Seattle versus New York.) The language model component can typically employ any language model (e.g., a probability distribution defined on sequences of words.) For instance, a trigram language model can be utilized. Additionally, restricted language models can be employed. Pursuant to an example, a language model utilized for web queries can be based on a list of queries and probabilities associated therewith. According to another example, a language model built upon syllabic elements can be employed in connection with expanding the implicit and/or explicit wildcard(s).